package com.kjzy.service;

import com.github.pagehelper.PageInfo;
import com.kjzy.pojo.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;

//这是业务逻辑层的接口，接口不能被定义成业务层 bean，
//因此这里不使用@Service注解。
public interface UserService {
    // 通过账号和密码查询(管理员)用户
    public User findAdmin(Integer userId,String password);

    // 通过用户id、用户名、用户角色、用户状态，多条件查询所有用户信息。
//    // 其中，用户id、用户名、用户角色、用户状态的值，封装在参数user对象里。
//    List<User> findUserList(User user);

    public PageInfo<User> findUserList(User user, int pageNum, int pageSize);

    // 新增一条用户记录。
    // 返回值：如果为"SUCCESS"，则表示新增用户成功；如果为其它值，
    // 则表示新增用户失败，并记录失败信息。
    String createUser(User user);

    //根据用户ID查询用户记录。
    public User findUserById(int id);

    //更新一条用户记录。
    //返回值：如果为"SUCCESS"，则表示更新用户信息成功；如果为其它值，
    //则表示更新用户信息失败，并记录失败信息。
    String updateUser(User user);

    //删除一条用户记录。
    //返回值：如果为"SUCCESS"，则表示删除用户信息成功；如果为其它值，
    //则表示删除用户信息失败，并记录失败信息。
    String deleteUser(int id);

}
